home *** CD-ROM | disk | FTP | other *** search
- unit msacm32;
-
- interface
-
- Uses mmsystem, windows;
-
- Const
- ACMFORMATDETAILS_FORMAT_CHARS = 128;
- WAVE_FORMAT_GSM610 = $0031;
- ACM_FORMATENUMF_CONVERT = $00100000;
- ACM_FORMATENUMF_WFORMATTAG = $00010000;
- ACM_FORMATENUMF_NCHANNELS = $00020000;
- ACM_FORMATENUMF_NSAMPLESPERSEC = $00040000;
- ACM_FORMATENUMF_WBITSPERSAMPLE = $00080000;
- ACM_FORMATENUMF_SUGGEST = $00200000;
- ACM_FORMATENUMF_HARDWARE = $00400000;
- ACM_FORMATENUMF_INPUT = $00800000;
- ACM_FORMATENUMF_OUTPUT = $01000000;
- Type
-
-
- HACMDRIVERID = THANDLE;
- HACMDRIVER = THANDLE;
-
- PACMFORMATDETAILSA = ^TACMFORMATDETAILSA;
- TACMFORMATDETAILSA = record
- cbStruct : DWORD;
- dwFormatIndex : DWORD;
- dwFormatTag : DWORD;
- fdwSupport : DWORD;
- pwfx : PWAVEFORMATEX;
- cbwfx : DWORD;
- szFormat : array[0..ACMFORMATDETAILS_FORMAT_CHARS] of char;
- end;
-
- TTRUESPEECHWAVEFORMAT = record
- wfx : TWAVEFORMATEX ;
- wRevision : WORD;
- nSamplesPerBlock : WORD;
- abReserved : array[0..28] of BYTE;
- end;
-
- PACMFORMATENUMCBA = ^TACMFORMATENUMCBA;
- TACMFORMATENUMCBA = function(
- hadid : THANDLE;
- pafd : PACMFORMATDETAILSA;
- dwInstance,
- fdwSupport : DWORD
- ) : BOOL stdcall;
- // TFNDriverProc = function(dwDriverId: DWORD; hdrvr: HDRVR;
- // msg: UINT; lparam1, lparam2: LPARAM): Longint stdcall;
-
- //function acmFormatEnumCallback(hadid : THANDLE;pafd : PACMFORMATDETAILSA; dwInstance, fdwSupport : DWORD ):BOOL; stdcall;
- function acmFormatEnumA
- (
- had : THANDLE;
- pafd : PACMFORMATDETAILSA;
- fnCallback : TACMFORMATENUMCBA;
- dwInstance : DWORD;
- fdwEnum : DWORD
- ) : MMRESULT; stdcall;
-
- Const
- ACM_METRIC_COUNT_DRIVERS = 1;
- ACM_METRIC_COUNT_CODECS = 2;
- ACM_METRIC_COUNT_CONVERTERS = 3;
- ACM_METRIC_COUNT_FILTERS = 4;
- ACM_METRIC_COUNT_DISABLED = 5;
- ACM_METRIC_COUNT_HARDWARE = 6;
- ACM_METRIC_COUNT_LOCAL_DRIVERS = 20;
- ACM_METRIC_COUNT_LOCAL_CODECS = 21;
- ACM_METRIC_COUNT_LOCAL_CONVERTERS = 22;
- ACM_METRIC_COUNT_LOCAL_FILTERS = 23;
- ACM_METRIC_COUNT_LOCAL_DISABLED = 24;
- ACM_METRIC_HARDWARE_WAVE_INPUT = 30;
- ACM_METRIC_HARDWARE_WAVE_OUTPUT = 31;
- ACM_METRIC_MAX_SIZE_FORMAT = 50;
- ACM_METRIC_MAX_SIZE_FILTER = 51;
- ACM_METRIC_DRIVER_SUPPORT = 100;
- ACM_METRIC_DRIVER_PRIORITY = 101;
-
-
- function acmMetrics(hao : THandle; uMetric : UINT; pMetric : Pointer) : MMRESULT ; stdcall;
-
- Const
- ACM_FORMATDETAILSF_INDEX = $00000000;
- ACM_FORMATDETAILSF_FORMAT = $00000001;
- ACM_FORMATDETAILSF_QUERYMASK = $0000000F;
-
-
- function acmFormatDetailsA(had : THandle;pafd : PACMFORMATDETAILSA;
- fdwDetails : DWORD ) : MMRESULT ; stdcall;
-
- implementation
-
- Const
- MSACM = 'msacm32.dll';
-
- function acmFormatEnumA;
- external MSACM name 'acmFormatEnumA';
-
- function acmMetrics;
- external MSACM name 'acmMetrics';
-
- function acmFormatDetailsA;
- external MSACM name 'acmFormatDetailsA';
-
- end.
-